Apache Struts 和 Spring 开源漏洞状况的对比
编译:奇安信代码卫士
这些庞大的开源项目是组织机构的成本效益力量倍增器,使其能够更快更有效地开发。在 GitHub 上,Apache Struts 是一个非常活跃的项目,拥有超过6000个 commit 和121个发布。Spring Framework 拥有22,460 个 commit 和208个发布。
Struts 和 Spring 社区重视安全,通过安全研究确保漏洞尽可能快地得到检测、修复和发布,保护用户及其客户的安全。
如下是 WhiteSource 知识团队根据数据得出的 Struts 和 Spring 相关的现有和新兴趋势。
几年前,美国征信机构 Equifax 数据泄露事件使 Apache Struts 频上头条。尽管政府机构和美国国家漏洞库 (NVD) 向该公司发出警告称所使用的 Apache Struts2 极易受远程代码执行攻击 (CVE-2017-5638) 的影响,但该公司未能在收到报告时将其修复。
尽管 Struts 团队在检测到 CVE-2017-5638 后采取了所有正确的措施,但软件开发行业仍然处于优势地位。一年后,当新的 Struts 严重漏洞爆出时,很多公司做好了迎接下一个 Equifax 级别数据泄露报告的准备。
当这种看法和 Apache Struts 历史关联在一起时,我们有必要查看下这个项目是否值得被以如此负面的看法对待。为了了解 Struts 的安全情况,我们决定将其与另外一个流行项目 Spring 进行比对。
当我们查看每个项目中发布的漏洞数量时,这两个项目中的漏洞数量实际上相对较低。
鉴于这些项目的流行程度,可以说很多安全研究员涌入代码中。Apache Struts 和 Spring 这样的项目中汇集了很多代码,而且这些社区的支持很多,因此可从中检测到漏洞。但所发布漏洞数量较少的情况表明,这两个团队对项目的处理很好,而且推出了安全的组件。
我们还查看了漏洞的严重程度等级划分,我们发现,Spring 中的中危漏洞数量要多于高危和严重漏洞的数量,而 Apache Struts 的漏洞严重等级划分情况和开源漏洞严重等级划分情况更相符。Struts 团队检测初的严重和高危漏洞比中危漏洞数量更多。
虽然通过已发布漏洞的数量可了解很多关于项目的安全信息,但了解检测后漏洞如何被处理也同样重要。
好消息是,我们发现漏洞得到证实后,Struts 和 Spring 团队在漏洞修复方面做得很出色。
数据表明,在过去几年中,Struts 项目在缩短修复所用时长方面表现得很好,2020年修复漏洞所需时间缩短到1.5天。虽然Spring 团队所需时间稍长一点,但在2020年达到3.5天也令人印象深刻。
即使新发布的 Apache Struts 和 Spring 漏洞数量较少,但有必要记住的是,项目中的某些老旧 CVE 漏洞仍然存在于软件产品中。
我们需要记住,黑客喜欢通过已发布的已知漏洞查找新目标,而且也应该了解太多的组织机构甚至在修复方案可用时仍然未能打补丁这一点。
如果未能使用正确工具更新资产,未能识别哪些存在已知漏洞,那么就可能暴露于高度可预防的攻击活动中。
对于开源组件的用户而言,实际上几乎每个人都是用户,那么问题不应该是 Apache Struts 和 Spring 漏洞的比较问题,而是我们应当如何管理这些漏洞。
开源包管理器Homebrew被曝 RCE,影响 macOS 和 Linux 系统
“机智号”成功试飞火星,但它使用的开源软件安全吗?
库依赖关系和开源供应链带来的噩梦
https://www.whitesourcesoftware.com/resources/blog/apache-struts-vs-spring-vulnerabilities/
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的
产品线。